package ojt.util;


import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

import ojt.exception.SystemException;
import sun.misc.BASE64Encoder;

/**
 * 暗号化・復号化用のメソッドを提供するクラス
 * @author kenta
 *
 */
public class Encrypter {
	
	/**
　　 * 社員番号とパスワードでメッセージダイジェストを作成しBASE64エンコードして返す.
　　 * @param shain_no 社員番号.
　　 * @param password パスワード.
　　 * @return 生成したダイジェスト.
　　 * @throws SystemException システム例外 Java実行環境にSHA-1が実装されていない.
　　 */
	public static String build (String shain_no, String password) throws SystemException{
		String passDigest = null;
			try{
				if (password != null && 0 < password.length()) {

				MessageDigest md = MessageDigest.getInstance("SHA-1");
				md.update(shain_no.getBytes());
				md.update(password.getBytes());
				byte[] digest = md.digest();
	
				BASE64Encoder encoder = new BASE64Encoder();
				String b64digest = encoder.encodeBuffer(digest);
				passDigest = b64digest.trim();
				}
			}
			catch (NoSuchAlgorithmException e){
				throw new SystemException(e.getMessage(), e);
		}
		return passDigest;
	}
}
